home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Softdisk Magazette Volume 2, No. 03 (1982-11)(Softdisk)(Side B).zip / Softdisk Magazette Volume 2, No. 03 (1982-11)(Softdisk)(Side B).do / ROADRACE.bas < prev    next >
BASIC Source File  |  1996-12-24  |  4KB  |  104 lines

  1. 100  REM : ROADRACE
  2. 110  REM : COPYRIGHT 1980 BY PHIL FELDMAN AND TOM RUGG
  3. 120  TEXT : NORMAL : NOTRACE : SPEED= 255: HOME : CLEAR 
  4. 130 U = 1:Z = 0:SC =  -912:T8 = 38:F7 = 47
  5. 140 CR = 2:CC = 9
  6. 150 X = 0:Y = 0:KP =  -16384:RK =  -16368:L = 0:R = 0
  7. 160 LC = 0.4
  8. 170 ML = 199:MR = 200
  9. 180 EL = 1:ER = 37:F5 = 45:F6 = 46:RC = 1 -LC
  10. 190 Q =  PEEK(78) +256 * PEEK(79):Q =  RND( -Q): GOTO 210
  11. 200  PLOT X,Y: PLOT X -U,Y -U: PLOT X +U,Y -U: RETURN 
  12. 210  GOSUB 2000: TEXT : HOME : PRINT 
  13. 220  PRINT  TAB( 11);"R O A D R A C E"
  14. 230  PRINT :T = 0:N = 0
  15. 235  GOSUB 4000
  16. 240  INPUT "ROAD WIDTH(3-12)? ";W
  17. 250 W =  INT(W): IF W <3  OR W >12  THEN 240
  18. 260  PRINT : PRINT "VISIBILITY CONDITIONS
  19. 270  PRINT "  1 - TERRIBLE
  20. 280  PRINT "  2 - BAD
  21. 290  PRINT "  3 - FAIR
  22. 300  PRINT "  4 - GOOD": PRINT 
  23. 310  INPUT "VISIBILITY (1-4)? ";V:V =  INT(V)
  24. 320  IF V <1  OR V >4  THEN 310
  25. 330 N = N +1:L = 19 -W/2:R = L +W +2
  26. 340 X = 20:H = 0:Y = 47 -V *V
  27. 350  GR : POKE  -16302,Z: POKE 34,U
  28. 360  POKE 33,38: POKE 32,U
  29. 370  COLOR= Z: FOR Q = 40 TO F7
  30. 380  HLIN Z,39 AT Q: NEXT 
  31. 390  COLOR= CR: HLIN Z,39 AT Z: HLIN Z,39 AT U
  32. 400  VLIN Z,F7 AT Z: VLIN Z,F7 AT 39
  33. 410  HLIN Z,39 AT F7
  34. 420  FOR Q = Z TO F7: HLIN L,L +U AT Q
  35. 430  HLIN R,R +U AT Q: NEXT 
  36. 440  COLOR= CC: GOSUB 200
  37. 450  GOSUB 3000
  38. 500  COLOR= Z: HLIN U,T8 AT F7: CALL SC: COLOR= CR
  39. 510  HLIN U,T8 AT F7: HLIN L,L +U AT F5: HLIN R,R +U AT F5
  40. 520 H = H +U:Q =  RND(U): IF Q >RC  AND R <ER  THEN L = L +U:R = R +U
  41. 530  IF Q <LC  AND L >EL  THEN L = L -U:R = R -U
  42. 540  HLIN L,L +U AT F6: HLIN R,R +U AT F6
  43. 550  COLOR= CC
  44. 600 Q =  PEEK(KP): POKE RK,Z
  45. 610  IF Q = ML  THEN X = X -U
  46. 620  IF Q = MR  THEN X = X +U
  47. 630  IF  SCRN( X,Y) = Z  THEN  GOSUB 3050: GOTO 500
  48. 640  GOTO 1000
  49. 1000  FOR Q = U TO 6: COLOR= CC: GOSUB 200
  50. 1010  FOR J = U TO 100: NEXT : COLOR= Z: GOSUB 200
  51. 1020  FOR J = U TO 30:K =  PEEK( -16336): NEXT : NEXT 
  52. 1030  COLOR= CC: GOSUB 200: POKE 32,Z: POKE 33,40: CALL SC
  53. 1040  COLOR= Z: FOR Q = U TO 5: HLIN Z,39 AT F7: CALL SC
  54. 1050  NEXT : POKE  -16304,0: POKE 34,20: POKE  -16301,0: HOME 
  55. 1060 M = H *5:T = T +M
  56. 1070  PRINT "YOU WENT ";M;: GOSUB 1300
  57. 1080  PRINT  TAB( 28);"NOW HIT
  58. 1090  PRINT "MILES FOR A TOTAL";: GOSUB 1300
  59. 1100  PRINT  TAB( 25);"'C' - CONTINUE
  60. 1110  PRINT "OF ";T;" MILES";: GOSUB 1300
  61. 1120  PRINT  TAB( 25);"'R' - RESTART
  62. 1130  PRINT "IN ";N;" DAY(S)";: GOSUB 1300
  63. 1140  PRINT  TAB( 25);"'Q' - QUIT ";
  64. 1150  GET Q$: IF Q$ = "C"  THEN 330
  65. 1160  IF Q$ < >"R"  AND Q$ < >"Q"  THEN 1150
  66. 1170  TEXT : HOME : PRINT 
  67. 1180  PRINT "AVERAGE MILES PER DAY=";T/N
  68. 1190  PRINT : PRINT : PRINT : IF Q$ = "R"  THEN 220
  69. 1200  END 
  70. 1300  PRINT  TAB( 21);: PRINT "!";: RETURN 
  71. 1310  NORMAL : RETURN 
  72. 2000  GR : HOME : COLOR= CR: RESTORE 
  73. 2010 X = 16:Y = 0: PLOT X,Y: PLOT X +8,Y
  74. 2020  FOR Y = 1 TO 39: READ Q:X = X +Q -U
  75. 2030  PLOT X,Y: PLOT X +8,Y: NEXT 
  76. 2040  COLOR= CC:X = 20: RESTORE 
  77. 2050  FOR Y = 1 TO 39: READ Q:X = X +Q -U
  78. 2060  GOSUB 200: FOR J = 1 TO 30: NEXT 
  79. 2070  COLOR= Z: GOSUB 200: COLOR= CC: NEXT :Y = 39: GOSUB 200
  80. 2080  FOR J = 1 TO 25:Q =  PEEK( -16336): NEXT 
  81. 2090  FOR J = 1 TO 6: HOME : PRINT  TAB( 7);
  82. 2100  PRINT "R   O   A   D   R   A   C   E
  83. 2110  FOR Q = 1 TO 500: NEXT : HOME : PRINT : PRINT 
  84. 2120  FOR Q = 1 TO 250: NEXT : NEXT : RETURN 
  85. 2200  DATA  1,1,1,1,1,1,1,2,2,2,2,2,2,2
  86. 2210  DATA  0,0,0,0,0,0,0,0,0,0,0,0,0,0
  87. 2220  DATA  2,2,2,2,2,2,2,1,1,1,1
  88. 3000  COLOR= CR: VLIN Y -10,Y AT L -5
  89. 3010  VLIN Y -10,Y AT L -3: FOR Q = Y -10 TO Y  STEP 2
  90. 3020  PLOT L -4,Q: NEXT : FOR Q = 1 TO 1000: NEXT 
  91. 3030  COLOR= CC: FOR Q = Y -9 TO Y -1  STEP 2
  92. 3040  FOR J = 1 TO 500: NEXT : PLOT L -4,Q: NEXT : RETURN 
  93. 3050  COLOR= Z: PLOT X -1,Y -1: PLOT X -U -1,Y -U -1: PLOT X +U -1,Y -U -1: COLOR= CC: GOTO 200
  94. 4000  PRINT "WOULD YOU LIKE INSTRUCTIONS?
  95. 4010  POKE RK,0: WAIT KP,128:A$ =  CHR$( PEEK(KP) -128): POKE RK,0: IF A$ = "Y"  OR A$ = "N"  THEN 4030
  96. 4020  GOTO 4010
  97. 4030  IF A$ = "N"  THEN 4050
  98. 4040  PRINT "IN THIS GAME, YOU ARE IN CONTROL OF A   CAR.  YOU CONTROL ITS MOVEMENTS BY      PUSHING 'G' TO GO LEFT AND 'H' TO MOVE  RIGHT.
  99. 4050  PRINT : PRINT "WOULD YOU LIKE TO PLAY?
  100. 4060  POKE RK,0: WAIT KP,128:A$ =  CHR$( PEEK(KP) -128): POKE RK,0: IF A$ = "Y"  OR A$ = "N"  THEN 4080
  101. 4070  GOTO 4060
  102. 4080  IF A$ = "N"  THEN 1200
  103. 4090  RETURN 
  104. 5000  REM  TYPED FOR ACGNJ BY JIM LIU